home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 18 / fpc103.zip / IBMCURSR.SEQ < prev    next >
Text File  |  1988-06-23  |  2KB  |  93 lines

  1. \ IBMCURSR      IBM Specific display       Enhancements by Tom Zimmer
  2.  
  3. DECIMAL
  4.  
  5. CODE IBM-AT   ( col row -- )
  6.         POP AX
  7.         POP DX
  8.         MOV DH, AL
  9.         XOR BH, BH
  10.         MOV AH, # 2
  11.         INT 16
  12.         NEXT   C;
  13.  
  14. CODE IBM-AT?  ( -- col row )
  15.         XOR BH, BH
  16.         MOV AH, # 3
  17.         INT 16
  18.         SUB AX, AX
  19.         MOV AL, DH
  20.         MOV DH, AH
  21.         2PUSH C;
  22.  
  23. CODE IBM-DARK   ( -- )
  24.         MOV AX, # 2
  25.         INT 16
  26.         NEXT   C;
  27.  
  28. CODE IBM--LINE   ( -- )
  29.         PUSH BP
  30.         XOR BH, BH
  31.         MOV AH, # 3
  32.         INT   16 ( Read Cursor Position )
  33.         MOV CH, DH
  34.         XOR CL, CL ( Upper left corner )
  35.         MOV DX, # 24 256 * 79 + ( Lower right corner )
  36.         MOV BH, # 7
  37.         MOV AX, # 6 256 * 1 +
  38.         INT 16
  39.         POP BP
  40.         NEXT   C;
  41.  
  42. : >IBM   ( -- )
  43.         ['] IBM-AT   IS AT
  44.         ['] IBM-DARK IS DARK
  45.         ['] IBM--LINE IS -LINE ;        >IBM
  46.  
  47. : CURSOR_POS_INIT       ( --- )
  48.         IBM-AT? #LINE ! #OUT ! ;
  49.  
  50. ' CURSOR_POS_INIT IS CURSORSET
  51.  
  52. \ Cursor shape control words by Tom Zimmer
  53.  
  54. CODE SET-CURSOR ( N1 --- )
  55.         POP CX
  56.         MOV AH, # 1
  57.         INT 16
  58.         NEXT C;
  59.  
  60. : GET-CURSOR    ( --- SHAPE ) 0 1120 ( 460h ) @L ;
  61.  
  62. HEX
  63.  
  64. : CURSOR-OFF    ( --- ) GET-CURSOR 2000  OR SET-CURSOR ;
  65.  
  66. : CURSOR-ON     ( --- ) GET-CURSOR 0F0F AND SET-CURSOR ;
  67.  
  68. : *NORM-CURSOR  ( --- ) ?VMODE 7 = IF 0C0D ELSE 0607 THEN
  69.                         SET-CURSOR ;
  70.  
  71. DEFER NORM-CURSOR       ' *NORM-CURSOR IS NORM-CURSOR
  72.  
  73. : *BIG-CURSOR   ( --- ) ?VMODE 7 = IF 020B ELSE 0007 ( 0106 ) THEN
  74.                         SET-CURSOR ;
  75.  
  76. DEFER BIG-CURSOR        ' *BIG-CURSOR IS BIG-CURSOR
  77.  
  78. : *MED-CURSOR   ( --- ) ?VMODE 7 = IF 0A0D ELSE 0507 THEN
  79.                         SET-CURSOR ;
  80.  
  81. DEFER MED-CURSOR        ' *MED-CURSOR IS MED-CURSOR
  82.  
  83. \ : SPLIT-CURSOR  ( --- ) ?VMODE 7 = IF 0C01 ELSE 0701 THEN
  84. \                        SET-CURSOR ;
  85.  
  86. DECIMAL
  87.  
  88. DEFINED SRCON NIP
  89. #IF
  90.         SRCON           \ now default to source on for debugging
  91. #THEN
  92.  
  93.